Integrated circuits may be designed by describing the functionality of a circuit using computer-aided design (CAD) tools such that a netlist of circuit components is generated. Each circuit component of the netlist can be realized by a corresponding type of standard cell in a library of standard cells. In a place operation, the various circuit components of the netlist are associated with corresponding standard cells of a virtual standard cell integrated circuit. Then, in a process called routing, the software forms virtual interconnections between the various standard cells identified in the place operation. The placed and routed virtual circuit is the original circuit described by the original netlist. The result of this design process is a computer output. The computer output is usable to make photolithographic masks for making a standard cell integrated circuit that includes the circuit of the original netlist.
Very large integrated circuits can be made using this standard cell technique. If an error is found in a circuit design after a lot of effort has gone into placing and routing a design, it is desirable to be able to correct the error without redoing the work already done. If a few spare standard cells are left here and there on the integrated circuit die, and if a minor error is later found in the design, then only a few minor changes to a metal interconnection layer may be required to patch in those spare standard cells to fix the error. For this reason, circuit development software sometimes includes a tool for automatically sprinkling groups of spare standard cells across a standard cell integrated circuit design. If there is no error found, then these spare standard cells are not incorporated into the final circuit.
A microcontroller or a part of a microcontroller may be designed using such a standard cell design process. Such a microcontroller may see use in noisy applications that often involve poor power and ground conditioning. In such a noisy application, unwanted noise can be introduced onto the microcontroller integrated circuit through the power, ground and other terminals of the integrated circuit. Examples of unwanted noise include transients due to electromagnetic interferences (EMI) and electrostatic discharges (ESD). The supply voltage that is supplied to the integrated circuit to power the circuitry of the integrated circuit may momentarily deviate outside the specified power supply operating range and this unwanted supply voltage fluctuation may be introduced into the integrated circuit through the power and ground terminals.
When microcontroller operation resumes after one of these out-of-specification conditions, the microcontroller is to behave in a consistent and anticipatable manner. An out-of-specification power supply condition or a noise condition may, however, cause a digital logic value stored in a flip-flop or other sequential logic element to change states. If, for example, the flip-flops in the program counter are disturbed in a random fashion, then the microcontroller may recover from out-of-specification conditions in different ways from occurrence to occurrence. This is undesirable. If such a fault occurs, the microcontroller is to be reset such that the microcontroller will begin executing code at the same known location after each such occurrence.
A voltage brownout and power-on reset (VBO/POR) circuit is typically provided on a microcontroller. Under certain conditions, the VBO/POR circuit outputs a reset signal that resets the microcontroller. If, for example, the power supply voltage of the microcontroller drops below a predetermined minimum and then returns to the specified operating range, the VBO/POR circuit detects this condition and outputs the reset signal. The microcontroller is reset and therefore resumes operation after the occurrence in a consistent and known manner.
A conventional VBO/POR circuit, however, typically does not detect or respond to power supply spikes of very short duration. In automotive or motor control applications, a high voltage transient of short duration called a fast electromagnetic transient (EFT) event can be experienced. A high voltage pulse of approximately two thousand volts can be imposed for a short period of approximately one to two hundred nanoseconds on a terminal of the microcontroller integrated circuit. The EFT event may cause the voltage difference between the supply voltage and ground buses internal to the integrated circuit to exceed a supply voltage maximum VCC(max) momentarily, or to fall below a supply voltage minimum VCC(min) momentarily. Because the EFT event is of such short duration, however, it goes undetected by the conventional VBO/POR circuit. The digital logic values stored in flip-flops and other sequential logic elements in the microcontroller can be disturbed, but the disturbance goes undetected. A microcontroller having a conventional VBO/POR circuit may therefore fail to be reset following an EFT event. Erratic and inconsistent microcontroller operation may result.
A solution is desired.